home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 7: Sunsite / Linux Cubed Series 7 - Sunsite Vol 1.iso / system / emulator / dosemu / dosemu-h.000 next >
Encoding:
Text File  |  1996-11-17  |  29.0 KB  |  925 lines

  1.   The dosemu HOWTO
  2.   edited by Mike Deisher, deisher@dspsun.eas.asu.edu
  3.   v0.52.3, 9 Aug 1994
  4.  
  5.   This is the `Frequently Asked Questions' (FAQ) / HOWTO document for
  6.   dosemu.  The most up-to-date version of the dosemu-HOWTO may be found
  7.   in dspsun.eas.asu.edu:/pub/dosemu.
  8.  
  9.   1.  The preliminaries
  10.  
  11.   1.1.  What is dosemu, anyway?
  12.  
  13.   To quote the manual, "dosemu is a user-level program which uses
  14.   certain special features of the Linux kernel and the 80386 processor
  15.   to run MS-DOS in what we in the biz call a `DOS box.'  The DOS box, a
  16.   combination of hardware and software trickery, has these capabilities:
  17.  
  18.   o the ability to virtualize all input/output and processor control
  19.   instructions
  20.  
  21.   o the ability to support the word size and addressing modes of the
  22.   iAPX86 processor family's "real mode," while still running within the
  23.   full protected mode environment
  24.  
  25.   o the ability to trap all DOS and BIOS system calls and emulate such
  26.   calls as are necessary for proper operation and good performance
  27.  
  28.   o the ability to simulate a hardware environment over which DOS
  29.   programs are accustomed to having control.
  30.  
  31.   o the ability to provide MS-DOS services through native Linux
  32.   services; for example, dosemu can provide a virtual hard disk drive
  33.   which is actually a Linux directory hierarchy."
  34.  
  35.  
  36.   1.2.  What's the newest version of dosemu and where can I get it?
  37.  
  38.   The newest version of dosemu is dosemu0.52 and can be ftp'ed from the
  39.   following sites:
  40.  
  41.        dspsun.eas.asu.edu:/pub/dosemu/
  42.        tsx-11.mit.edu:/pub/linux/ALPHA/dosemu/
  43.  
  44.  
  45.  
  46.  
  47.   1.3.  Where can I follow the development?
  48.  
  49.   If you want to follow the development of dosemu, you should consider
  50.   subscribing to the MSDOS channel on Linux-activists.  To subscribe,
  51.   send mail to linux-activists-request@niksula.hut.fi.  Your mail HEADER
  52.   or FIRST LINE must contain the line:
  53.  
  54.                           X-Mn-Admin: join MSDOS
  55.  
  56.  
  57.   To post to the list, send mail to linux-activists@niksula.hut.fi.
  58.   Your mail HEADER or FIRST LINE must contain the line:
  59.  
  60.                           X-Mn-Key: MSDOS
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.   1.4.  What documentation is available for dosemu?
  68.  
  69.   The dosemu manual (dosemu.texinfo) written by Robert Sanders has not
  70.   been updated in some time but is still a good source of information.
  71.   It is distributed with dosemu.
  72.  
  73.   The "dosemu Novice's Altering Guide" or DANG is a road map to the
  74.   inner workings of dosemu.  It is designed for the adventurous, those
  75.   who wish to modify the source code themselves.  The DANG is maintained
  76.   by Alistair MacDonald (am20@unix.york.ac.uk) and is posted once in a
  77.   while to the MSDOS channel of Linux Activists.
  78.  
  79.   The EMU success list (EMUsuccess.txt) is a list of all programs that
  80.   have been reported to work with dosemu.  It is posted once in a while
  81.   to the MSDOS channel of Linux Activists.  The most recent version can
  82.   be found on dspsun.eas.asu.edu:/pub/dosemu.
  83.  
  84.   And then, of course, there is the dosemu FAQ/HOWTO.  But you already
  85.   know about that, don't you.  It is also posted once in a while to the
  86.   MSDOS channel of Linux Activists.  The most recent version can be
  87.   found on dspsun.eas.asu.edu:/pub/dosemu.
  88.  
  89.  
  90.   1.5.  How do I submit changes or additions to the HOWTO?
  91.  
  92.   The preferred method is to edit the file, dosemu-HOWTO-xx.x.sgml to
  93.   incorporate the changes, create a diff file by typing something like
  94.  
  95.  
  96.                  diff original-file new-file
  97.  
  98.  
  99.  
  100.   and send it to deisher@dspsun.eas.asu.edu.  If you do not know SGML,
  101.   that's ok.  Changes or new information in any form will be accepted.
  102.   Creating the diff file just makes it easier on the HOWTO maintainer.
  103.   :-)
  104.  
  105.  
  106.   2.  Compiling and installing dosemu
  107.  
  108.   2.1.  Where are the installation instructions?
  109.  
  110.   The installation instructions are in the file, "QuickStart", included
  111.   in the distribution.
  112.  
  113.  
  114.   2.2.  Why won't dosemu 0.52 compile?
  115.  
  116.   (7/9/94)
  117.  
  118.   There is a bug in the makefile of dosemu 0.52.  The makefile expects
  119.   the source to be located in /usr/src/dosemu????.  Either install the
  120.   source under /usr/src or try make clean ; make config ; make dep ;
  121.   make all.
  122.  
  123.   Of course, this is not the only possible reason (see below).
  124.  
  125.  
  126.   2.3.  How can I be a bone-head when installing dosemu?
  127.  
  128.   a.k.a. Top Ten Stupid Mistakes installing dosemu (7/9/94)
  129.  
  130.  
  131.  
  132.  
  133.   1. Don't read the QuickStart Guide.
  134.   2. Try to compile with a kernel older than 1.0.8.
  135.   3. Try to compile with an *unpatched* kernel >= 1.0.8.
  136.   4. Try to compile with a kernel older than 1.1.12.
  137.   5. Use dosemu with a kernel that does not have IPC compiled in.
  138.   6. Compile with gcc older than 2.5.8 or libc older than 4.5.21.
  139.   7. Forget to edit your /etc/dosemu.conf file.
  140.   8. Forget to run "FDISK /mbr" on your hdimage.
  141.   9. Forget to run "mkpartition" when using partition access.
  142.   10. Don't compile dosemu with sufficient priveledges (i.e., root).
  143.  
  144.  
  145.  
  146.   [Please send me your stupid mistakes for inclusion in this list.  I
  147.   promise you will remain anonymous.  ;-)]
  148.  
  149.  
  150.   3.  Hard disk setup
  151.  
  152.   3.1.  How do I use my hard disk with dosemu?
  153.  
  154.   First, mount your dos hard disk partition as a Linux subdirectory.
  155.   For example, you could create a directory in Linux such as /dos (mkdir
  156.   -m 755 /dos) and add a line like
  157.  
  158.      /dev/hda1       /dos     msdos   umask=022
  159.  
  160.  
  161.   to your /etc/fstab.  (In this example, the hard disk is mounted read-
  162.   only.  You may want to mount it read/write by replacing "022" with
  163.   "000" and using the -m 777 option with mkdir).  Now mount /dos.  Now
  164.   you can add a line like
  165.  
  166.     lredir d: linux\fs/dos
  167.  
  168.  
  169.   to the AUTOEXEC.BAT file in your hdimage (see the comments on LREDIR
  170.   below).  On a multi-user system you may want to use
  171.  
  172.     lredir d: linux\fs\${home}
  173.  
  174.  
  175.   where "home" is the name of an environmental variable that contains
  176.   the location of the dos directory (/dos in this example).
  177.  
  178.   ---------------------
  179.  
  180.  
  181.   Tim Bird (Tim_R_Bird@Novell.COM) states that LREDIR users should
  182.  
  183.   be careful when they use LREDIR in the autoexec, because COMMAND.COM
  184.   will continue parsing the autoexec.bat from the redirected drive as
  185.   the same file offset where it left off in the autoexec.bat on the
  186.   physical drive.  For this reason, it is safest to have the
  187.   autoexec.bat on the redirected drive and the physical drive
  188.   (diskimage) be the same.
  189.  
  190.   ---------------------
  191.  
  192.  
  193.   Robert D. Warren (rw11258@xx.acs.appstate.edu) reported (4/28/94) that
  194.  
  195.   I boot off a small hdimage file (less than 1 MB - and twice as large
  196.   as needs be at that), and the next to last line in my config.sys file
  197.   on the hdimage boot image is:
  198.  
  199.           install=c:\lredir.exe LINUX\FS\home/dos
  200.  
  201.  
  202.   This will execute lredir just before the command interpreter runs. And
  203.   I have successfully run it with both command.com and 4DOS.  This elim-
  204.   inates the offset problem using lredir in autoexec.bat.
  205.  
  206.  
  207.   3.2.  Can I use my stacked/double-spaced/super-stored disk?
  208.  
  209.   At this time, compressed drives cannot be accessed via the redirector
  210.   (lredir or emufs).  However, many people have had success by simply
  211.   uncommenting the
  212.  
  213.      disk { wholedisk "/dev/hda" }        # 1st partition on 1st disk
  214.  
  215.  
  216.   line in their dosemu config file.  Others have had success using
  217.  
  218.      disk { partition "/dev/hda1" 1 }
  219.  
  220.  
  221.   and running the mkpartition utility (included in the dosemu distribu-
  222.   tion).
  223.  
  224.   [WARNING:  Make sure your dos partitions are not mounted and writeable
  225.   from Linux while you are using dosemu with wholedisk or partition
  226.   access.  This is an easy way to destroy the data on your dos
  227.   partition.]
  228.  
  229.   ---------------------
  230.  
  231.   If LILO is installed, the above will not work.  However...
  232.  
  233.   Thomas Mockridge (thomas@aztec.co.za) reported (8/5/94) that
  234.  
  235.   To boot dosemu with LILO and Stacker 4.0 I did a little work around...
  236.  
  237.   1. dd the MBR to a file. (or norton utility, etc., first 512 bytes)
  238.  
  239.   2. Boot dos (from full boot not emu), do a fdisk /mbr, make your dos
  240.   partition active with (dos) fdisk.
  241.  
  242.   3. Copy the new MBR to a file.
  243.  
  244.   4. Replace the original MBR
  245.  
  246.   5. Copy the second MBR to /var/lib/dosemu/partition.hda? (Whichever is
  247.   your dos partition)
  248.  
  249.   6. Set dosemu.conf
  250.  
  251.                  disk {partition "/dev/hda? ?"}
  252.  
  253.  
  254.  
  255.   7. Start dosemu and and voila!  No LILO.
  256.  
  257.   ---------------------
  258.  
  259.   Holger Schemel (q99492@pbhrzx.uni-paderborn.de) reported (2/10/94)
  260.   that
  261.  
  262.   Works even fine under DOSEMU with MS-DOS 6.0. If you have problems,
  263.   then you have to edit the file 'DBLSPACE.INI' manually and change the
  264.   disk letter to the letter your drive gets under DOSEMU.
  265.   ---------------------
  266.  
  267.   Darren J Moffat (moffatd@dcs.gla.ac.uk) also reported (3/27/94)
  268.  
  269.   "...use 6.2 if you can get it!!  Just make sure you have a lilo boot
  270.   disk on hand since dos 6{.2} will change the MBR of the boot HD."
  271.  
  272.  
  273.   3.3.  I get an error message about my config.sys file but it looks
  274.   fine.
  275.  
  276.   Corey Sweeney (corey@amiganet.xnet.com) reported (12/8/93) that
  277.  
  278.   Sometimes when loading config.sys you will get a error message saying
  279.   something like "error in line 6 of config.sys".  The problem will go
  280.   away if you add several carriage returns at the end of your
  281.   config.sys.
  282.  
  283.  
  284.   4.  Serial ports and mice
  285.  
  286.   4.1.  Where are the (microsoft compatible) mouse drivers?
  287.  
  288.   Tom Kimball (tk@pssparc2.oc.com) reported (11/24/93) that
  289.  
  290.   Several people said to use a different mouse driver and suggested
  291.   some.  I found a couple that seem to work fine.
  292.  
  293.      oak.oakland.edu:/pub/msdos/mouse/mouse701.zip   (mscmouse)
  294.      oak.oakland.edu:/pub/msdos/mouse/gmous102.zip   (gmouse)
  295.  
  296.  
  297.  
  298.  
  299.   4.2.  Why doesn't the mouse driver work?
  300.  
  301.   Scott D. Heavner (sdh@fishmonger.nouucp) reported (11/27/93) that
  302.  
  303.   If you start the mouse driver and it just hangs (it might actually
  304.   take 30-60s), but if you are waiting longer than a minute for the
  305.   mouse driver to start, remove any "timer" lines in your config file.
  306.  
  307.  
  308.   4.3.  Why does dosemu clobber COM4?
  309.  
  310.   Rob Janssen (rob@pe1chl.ampr.org) reported (3/24/94) that
  311.  
  312.   According to jmorriso@bogomips.ee.ubc.ca, "dosemu still clobbers COM4
  313.   (0x2e8, IRQ 5). 0x2e8 isn't in ports{} in config.  I have to run
  314.   setserial /dev/cua3 irq 5 on it after dosemu exits."
  315.  
  316.   This is caused by your VGA BIOS.  I have found that by enabling the IO
  317.   port trace and seeing where it was clobbered.
  318.  
  319.   Disable the "allowvideoportaccess on" line in config and it will work
  320.   fine.  When you then have problems with the video, try to enable more
  321.   selective ranges of IO addresses (e.g., 40-43).
  322.  
  323.  
  324.   4.4.  How do I use dosemu over the serial ports?
  325.  
  326.   Corey Sweeney (corey@amiganet.xnet.com) reported (12/8/93) that
  327.  
  328.   If you plan to be using dosemu over a serial line, telnet session, or
  329.   just don't want to use raw console mode, then you will probably want
  330.   to get to know the termcap file.  For those who don't know, the
  331.   termcap file is usually located in the /etc directory.  It contains
  332.   the information on what sequences of characters to send to your
  333.   terminal, and what sequences of characters from your terminal
  334.   represent what keystrokes.  If when you hit F5, and it does not work,
  335.   it will usually be the fault of a incorrect termcap entry.  (To learn
  336.   more about termcaps look up the termcap man page.)
  337.  
  338.   Now the information in the termcap relates to entries in the dosemu
  339.   code.  So after you put k5=\E[[E in your termcap, whenever your
  340.   terminal sends \E[[E, dosemu translates that and says "he hit the k5
  341.   key!"  Then it is up to dosemu to figure out what the proper scancode
  342.   for the k5 key is, and push that into the buffer in some magical way.
  343.   To determine the scancode, it looks up in a little table in termio.c.
  344.   In termio.c under the line which (currently) says
  345.  
  346.      #define FUNKEYS 20
  347.  
  348.  
  349.   There exist several lines following the form
  350.  
  351.      {NULL, "termcap code", scancode} /* name of key */
  352.  
  353.  
  354.   so when it says
  355.  
  356.      {NULL, "k5", 0x3f00} /* F5 */
  357.  
  358.  
  359.   it's saying that 0x3f00 is the scancode for F5, and that when the per-
  360.   son activates the k5 sequence (defined in the termcap) to stuff the F5
  361.   scancode into the buffer.
  362.  
  363.   Now that's all fine and dandy for analyzing how dosemu does this,  but
  364.   you probably want to be able to do something with this new
  365.   information.  Well you can add functionality for the F11 and F12 keys
  366.   (and any other keys that you can find the scancode for).
  367.  
  368.   All you have to do is add a line to the termio.c table that says:
  369.  
  370.      {NULL, "ka", 0x8500} /* F11 */
  371.  
  372.  
  373.   Then to actually get it to read the line you just put in, add one to
  374.   the FUNKEYS number.
  375.  
  376.      #define FUNKEYS = 21
  377.  
  378.  
  379.   Then add a "ka" entry to your termcap.  After that, every time you hit
  380.   the sequence stored in your termcap for ka, your dos program recog-
  381.   nizes an "F11."
  382.  
  383.   Warning:  Make sure that ka is not in use in your termcap.  If it is
  384.   you are headed for trouble.
  385.  
  386.   Note:  The scancode for F12 is 0x8600.
  387.  
  388.  
  389.   4.5.  How can I switch between dosemu and a shell over the serial
  390.   line?
  391.  
  392.   John Taylor (taylor@pollux.cs.uga.edu) reported (5/25/94) that
  393.  
  394.   I am running Linux 1.1.13 and want to point out a great feature that
  395.   should be protected and not taken out (IMHO). With the 52 version, I
  396.   can run the program, "screen."  From screen, i can invoke dos -D-a.
  397.   What is really great (IMHO) is the screen commands (the CTRL-A cmds)
  398.   still work. This means I can do a CTRL-A C and add another unix shell,
  399.   and switch between the two (DOS / UNIX).  This allows me to use dosemu
  400.   over the serial line really well, because switching is made easy.
  401.  
  402.  
  403.   5.  Dosemu with multiple users
  404.  
  405.   5.1.  Can I use dosemu on a multi-user system?
  406.  
  407.   Corey Sweeney (corey@amiganet.xnet.com) reported (12/8/93) that
  408.  
  409.   If you are running dosemu on a system in which more then one person
  410.   may want to run dosemu, then you may want to change the directory of
  411.   your hard drive image.  Currently in the /etc/dosemu.conf file there
  412.   exists the line saying that the hard drive image is "hdimage".  If you
  413.   change this to /var/lib/dosemu/hdimage then people do not have to
  414.   worry about what directory they are in when they run dosemu, and
  415.   hdimage does not have to be moved each time you upgrade to the next
  416.   patch level.
  417.  
  418.   If you do do this for multi-user dosemu, then you will want to make
  419.   the hdimage in /var/lib/dosemu read-only for everyone but the dosemu
  420.   administrator.
  421.  
  422.   Note that you can use the new emufs.sys thing to mount a "public"
  423.   directory and/or a "private" directory (a sub-directory in each
  424.   person's home directory).
  425.  
  426.  
  427.   [Note: Users may also create a personal configuration file named
  428.   ~/.dosrc (same format as /etc/dosemu.conf) to run their own copy of
  429.   dos.]
  430.  
  431.  
  432.   5.2.  How do I get Netware access from dosemu?
  433.  
  434.   James B. MacLean (jmaclean@fox.nstn.ns.ca) reported (6/13/94) that
  435.  
  436.   Dosemu now supports  pdipx  (an IPX over pktdrvr)  and  pdether  (uses
  437.   Novell's  MLID spec)  to  access  Novell LAN's via the built in packet
  438.   driver.   The  packet  driver sits at interrupt 0x60, and abids by the
  439.   normal paket driver rules.  That said, beware of trying any DOS TCP/IP
  440.   just yet. To use Netware, simply:
  441.  
  442.  
  443.      1) Compile support for your NIC into the kernel.
  444.      2) Boot dosemu.
  445.      3) Run ./commands/pdipx.
  446.      4) Run netx or whatever you use.
  447.  
  448.  
  449.   If you  need  special  access  to  your  NIC,  read  on.   By  default
  450.   dosemu  will  not  get interrupts from the kernel. That said, if you'd
  451.   like to give your NIC to dosemu for it to control, maybe for access to
  452.   Netware  on  the  network  through  a  NETX client, I do have a driver
  453.   (Silly Interrupt Generator) to put in the  kernel  that  any  program,
  454.   like dosemu can use to get at the interrupt for your NIC.  I use it in
  455.   DOSEMU to access a Novell Lite network in the  past  until  the packet
  456.   driver existed.
  457.  
  458.   Any interested parties should E-mail me (jmaclean@fox.nstn.ns.ca) and
  459.   I'll pass along some directions.
  460.  
  461.  
  462.  
  463.   6.  dosemu and X-windows
  464.  
  465.   6.1.  Can I run dosemu in console mode while running X?
  466.  
  467.   Ronald Schalk (R.Schalk@uci.kun.nl) reported (1/17/94) that
  468.  
  469.   Yes, no problem.  Just remember to use ctrl-alt-<Fn> to go to a
  470.   Virtual Console (VC), and you can run any Linux application (dosemu is
  471.   a linux-application).  I've got almost always WP5.1 in a dos session.
  472.  
  473.   [Note:  Use ctrl-alt-F7 to switch back to X from dosemu.]
  474.  
  475.   [Note: Some people have reported problems when dosemu is started
  476.   before X]
  477.  
  478.  
  479.   6.2.  Is it possible to run dosemu in an xterm?
  480.  
  481.   Evmorfopoulos Dimitris (devmorfo@mtu.edu) reported (12/10/93) that
  482.  
  483.   It is possible to run dosemu under an xterm, but without any graphics,
  484.   and with no more than 128 characters.
  485.  
  486.   H. Peter Anvin (hpa@hook.eecs.nwu.edu) adds (2/6/94)
  487.  
  488.   no more than 128 characters... unless you use a special font.  Someone
  489.   has an IBM PC (CP 437) X font for use with ANSI-graphics on BBS's, as
  490.   well as a patch for Xterm that *might* include character translation
  491.   (for letters like \305, \304, \326 for example.
  492.  
  493.  
  494.   7.  Video and sound
  495.  
  496.   7.1.  Exiting from dosemu gives me a screen full of garbage.
  497.  
  498.   Keith A Grider (kgrider@magnus.acs.ohio-state.edu) reported (12/5/93)
  499.   that
  500.  
  501.   I have seen many postings concerning this with exit from X as well as
  502.   exiting from a graphic dos screen.  it seems to be prevalent among ATI
  503.   graphic card users as well as a few others.  The problem is that the
  504.   font information for the vga text screen is not being saved.  The only
  505.   way I have been able to fix it is to download the vgalib-090.tar.gz
  506.   file from sunsite.unc.edu.  It is (I believe) in the pub/Linux/GCC
  507.   directory.  You get a lot of stuff that is not directly used to solve
  508.   this problem, but in the fonts directory that is created when you
  509.   untar the file, there are 2 files of interest, runx and restorefont.
  510.   Read the README file in this directory.  Copy runx and restorefont to
  511.   a directory in your path.  when runx is used, for example, it saves
  512.   the font information in tmp/fontdata.  I use a file called fix which
  513.   consists of the line:
  514.  
  515.      restorefont -r /tmp/fontdata
  516.  
  517.  
  518.   so that it is easy to 'fix' a vt when I go there from X (i.e. ctrl-
  519.   alt-f2).  This should also work for dosemu.  I think the XFree86 peo-
  520.   ple know about the problem and are working on a solution as this is a
  521.   bit of a kluge.
  522.  
  523.  
  524.   7.2.  How do I get dosemu to work with my Trident/Actix/other video
  525.   card?
  526.  
  527.   [The screen flickers violently, displays the video BIOS startup
  528.   message, and hangs.]
  529.   Andrew Tridgell (tridge@nimbus.anu.edu.au) reported (1/29/94) that
  530.  
  531.   I found with early versions it would work if I used:
  532.  
  533.      ports { 0x42 }
  534.  
  535.  
  536.   but that sometimes my machine would crash when it was cycling the
  537.   video bios in dosemu. This is because you're allowing the VGA bios to
  538.   re-program your clock, which severely stuffs with Linux.
  539.  
  540.   This prompted me to write the readonly and masking patches for dosemu,
  541.   which I believe are still in the latest version. I now use:
  542.  
  543.      ports { readonly 0x42 }
  544.  
  545.  
  546.   and it boots dosemu more slowly, but more reliably.
  547.  
  548.   Tim Shnaider (tims@kcbbs.gen.nz) also reported (1/18/94) that
  549.  
  550.   One way of fixing this is to use the GETROM program to dump your video
  551.   bios to a file and edit the config file in the /etc/dosemu directory
  552.   There will be a few video lines.  Here is my video line
  553.  
  554.      video { vga console graphics chipset trident memsize 1024 vbios_file
  555.      /etc/dosemu/vbios }
  556.  
  557.  
  558.   where vbios is the file generated by typing
  559.  
  560.      getrom > vbios
  561.  
  562.  
  563.  
  564.  
  565.   7.3.  Why doesn't my soundcard software work with dosemu?
  566.  
  567.   Hannu Savolainen (hsavolai@cs.Helsinki.FI) reported (3/21/94) that
  568.  
  569.   The DOSEMU and any DOS program with it run under control of a
  570.   protected mode operating system. This means that the memory is not
  571.   mapped as the program expects. If it somehow manages to start DMA
  572.   based recording with SB, the recorded sound doesn't find it's way to
  573.   the application. It just destroys some data in the memory.
  574.  
  575.  
  576.   James B. MacLean (jmaclean@fox.nstn.ns.ca) reported (6/19/94) that
  577.  
  578.   Sorry to disappoint, but at this time DOSEMU does not support directly
  579.   the necessary interception of interrupts or DMA generally required for
  580.   sound card access via DOSEMU :-(.
  581.  
  582.   It's bound to happen at some future date though :-),
  583.  
  584.  
  585.   8.  Other Hardware
  586.  
  587.   8.1.  How do I get my xxxxx device working under dosemu?
  588.  
  589.   Corey Sweeney (corey@bbs.xnet.com) reported (5/30/94) that
  590.  
  591.   Here is a log of my adventures trying to get devices working under
  592.   dosemu.  So far I've gotten my voice mail system working and my
  593.   scanner half working.  Here's how:
  594.  
  595.   1. Look in your manual and find if your card uses any ports.  If your
  596.   manual gives you some, put them in your config file at the "ports"
  597.   line.  Remember that sometimes you need to have several ports in a
  598.   row, and the first one might be the only one documented.
  599.  
  600.   2. Try it out. If it doesn't work, or you don't have a manual (or your
  601.   manual is as crappy as my AT&T manual:) then run dosemu with "dos -D+i
  602.   2> /tmp/io.debug".  Run your device software, then exit dosemu.  Look
  603.   through /tmp/io.debug and find any port numbers it might give you.
  604.   Try adding those to the port lines and try running dosemu again.
  605.  
  606.   3. If you still fail then you may need interrupts.  Find out what
  607.   interrupt the card uses and get the SIG.tgz (silly interrupt
  608.   generator) from somewhere on tsx-11.mit.edu.  Install it as specified
  609.   in the instructions.
  610.  
  611.   and that's about it...
  612.  
  613.   Question: What if my card uses DMA?  Answer: Your screwed.
  614.  
  615.  
  616.   9.  Problems and fixes
  617.  
  618.   9.1.  Why does dosemu 0.52 fail under kernels newer than 1.1.30?
  619.  
  620.   (8/5/94)
  621.  
  622.   Dosemu 0.52 is not compatible with kernels newer than 1.1.30.  This
  623.   problem will be fixed in dosemu 0.53.
  624.  
  625.  
  626.   9.2.  Why is the cursor position wrong?
  627.  
  628.   (7/9/94)
  629.  
  630.   This is a known bug in dosemu 0.52.  It will be fixed in dosemu 0.53.
  631.  
  632.  
  633.  
  634.   9.3.  Why does my busmouse act funny under dosemu 0.52?
  635.  
  636.   James B. MacLean (jmaclean@fox.nstn.ns.ca) reported (7/8/94) that
  637.  
  638.   Busmouse support is quite ALPHA at this time (as is DOSEMU :-)), and
  639.   will be continually refined for a while :-).  Look for better support
  640.   in the upcoming releases.
  641.  
  642.  
  643.   9.4.  Why won't dosemu run a second time after exiting in console
  644.   mode?
  645.  
  646.   Aldy Hernandez (aldy@sauron.cc.andrews.edu) reported (7/8/94) that
  647.  
  648.   You should disable your video and/or bios caching.
  649.  
  650.  
  651.   9.5.  Some dos applications still do not detect DPMI under dosemu0.52.
  652.  
  653.   James B. MacLean (jmaclean@fox.nstn.ns.ca) reported (6/19/94) that
  654.  
  655.   At this time (as of 0.52 release) DOSEMU is still growing with respect
  656.   to DPMI.  It will run certain DPMI programs, but has a ways to go yet.
  657.   As suggested there needs to be more of the calls implemented, etc.
  658.   Please be patient :-), as it's bound to come in time.
  659.  
  660.  
  661.   9.6.  Why does dosemu give "divide overflow" errors after running for
  662.   more than 24-hours?
  663.  
  664.   (1/17/94)
  665.  
  666.   This is a known bug.  It will (hopefully) be fixed in an upcoming
  667.   release.  For now, you can simply exit dosemu and start it again.
  668.  
  669.  
  670.   9.7.  Why will dosemu run in a term but not in the console?
  671.  
  672.   JyiJiin Luo (jjluo@casbah.acns.nwu.edu) reported (4/19/94) that
  673.  
  674.   I experienced exactly the same problem before. I figured out all the
  675.   video shadow in my AMI BIOS must be disabled. Now dosemu runs fine on
  676.   my system.
  677.  
  678.  
  679.   9.8.  How can I speed up dosemu?
  680.  
  681.   Mark Rejhon (mdrejhon@undergrad.math.uwaterloo.ca) reported (4/7/94)
  682.   that
  683.  
  684.   TIP: Speed up your DOS "dir" listings by about 25%-50% or so by typing
  685.   break off at the DOS prompt or including it in autoexec.bat.
  686.  
  687.   TIP: Use the nnansi.com ANSI driver to speed up the "dir" output even
  688.   more at roughly 50%-100% more.  It works properly in non-graphics
  689.   mode, unlike turbo.com.
  690.  
  691.   ---------------------
  692.  
  693.  
  694.   Joel M. Hoffman (joel@rac1.wam.umd.edu) reported (4/23/94) that
  695.  
  696.   Ironically, I've found that it's sometimes faster to run dosemu in an
  697.   Emacs terminal emulator rather than directly to the console.  Emacs's
  698.   output optimization is what makes the difference here.
  699.  
  700.   Put the following in your .emacs:
  701.  
  702.  
  703.           (defun do-dos ()
  704.             (interactive)
  705.             (terminal-emulator "dos" "/usr/local/bin/dos" ()))
  706.  
  707.  
  708.   and then "emacs -f do-dos" will run the dosemu inside the buffer.
  709.   Make sure you emacs window is 25x80, of course.
  710.  
  711.   ---------------------
  712.  
  713.  
  714.   Pete Heist (heistp@rpi.edu) reported (5/13/94) that
  715.  
  716.   If you compile it with the "-funroll-all-loops" option you will get
  717.   MUCH faster screen output.  Some other parts of the emulator will run
  718.   much faster as well.  Realize that the consequence of this is a larger
  719.   executable which eats a little more memory, even though it's demand
  720.   loaded.
  721.  
  722.   ---------------------
  723.  
  724.  
  725.   Georg Wiegand (gw@gwcomp.e.open.de) reported (5/16/94) that
  726.  
  727.   You also can use the keyword HogThreshold in /etc/dosemu.conf.  The
  728.   greater the following number the more calculating-time dosemu gets.
  729.   For example, I use "HogThreshold 60000" on my 386/87-20 laptop.
  730.  
  731.  
  732.   9.9.  My CDROM drive has problems reading some files under dosemu.
  733.  
  734.   Vinod G Kulkarni (vinod@cse.iitb.ernet.in) reported (4/7/94) that
  735.  
  736.   When a CDROM is mounted from linux and used from within DOSEMU (mapped
  737.   drive), there could be some problems. The cdrom driver (iso9660) in
  738.   the kernel tries to find out the type of the file (i.e. binary or
  739.   text).  If it can't find, it tries to guess the type of the file using
  740.   a heuristic. This heuristic fails under some circumstances when a
  741.   (almost) text file is to be treated as binary.  (I do not know if it
  742.   is a bug or feature.)
  743.  
  744.   The result of this is that if you copy such a file from cdrom (from
  745.   linux itself, and not necessarily dosemu), the resulting file will be
  746.   usually bigger than original file. (Blanks get added before ^J,^M.)
  747.   So a program running in dosemu gives error or hangs, which you may
  748.   mistaken as problem of dosemu.
  749.  
  750.   I could verify that this kind of heuristic is not used when the cdrom
  751.   is used from DEC ALPHA system. (I nfs mounted the exported cdrom drive
  752.   and used under dosemu as a drive.)
  753.  
  754.   To correct the behavior, you can force the iso9660 file system not to
  755.   use heuristic at all.  Make the following change and then recompile
  756.   your kernel.
  757.  
  758.  
  759.   File: /usr/src/linux/fs/isofs/file.c
  760.   In Function: static int isofs_file_read ()
  761.     ...
  762.              if (inode->u.isofs_i.i_file_format == ISOFS_FILE_UNKNOWN) {
  763.                   inode->u.isofs_i.i_file_format = ISOFS_FILE_BINARY ;
  764.                   /* ORIGINAL: isofs_determine_filetype(inode);  */
  765.              }
  766.     ...
  767.  
  768.  
  769.  
  770.  
  771.   9.10.  Where did the debugging output go?
  772.  
  773.   As of dosemu0.49pl4, stderr is automatically redirected to /dev/null.
  774.   Try "dos -D+a 2>debug" to turn on debugging information and redirect
  775.   it to the file "debug".
  776.  
  777.  
  778.   9.11.  Why does dosemu lock up after one keystroke?
  779.  
  780.   (12/17/93)
  781.  
  782.   You need to turn on the keyboard interrupt in the dosemu config file.
  783.   Add a line to the config file:
  784.  
  785.  
  786.      keybint on
  787.  
  788.  
  789.  
  790.   Shouldn't be a problem in dosemu0.52.
  791.  
  792.  
  793.   9.12.  Why are my keystrokes echoed ttwwiiccee??
  794.  
  795.   Nick Holloway (alfie@dcs.warwick.ac.uk) reported (2/22/94) that
  796.  
  797.   After running dos after playing with some stty settings, I was getting
  798.   doubled key presses.  I can now reveal what the reason is!
  799.  
  800.   It only happens when dos is run on the console with 'istrip' set.
  801.   This is (I think) because the raw scancodes are mutilated by the
  802.   'istrip', so that key release events look like key press events.
  803.  
  804.   So, the input processing needs to be turned off when using the scan
  805.   codes on a console (it wouldn't be a good idea to do it for tty
  806.   lines).
  807.  
  808.  
  809.   9.13.  Why are characters < 128 highlighted and blinking?
  810.  
  811.   Chris Kuehnke (Christian.Kuehnke@Informatik.Uni-Oldenburg.DE) reported
  812.   (3/21/94) that
  813.  
  814.   I think I've found a bug in dosemu0.50pl1; with a MDA card displayed
  815.   characters > 128 automagically appeared as highlighted and blinking.
  816.  
  817.   This patch fixed the problem for me [but on the other hand, maybe I'm
  818.   totally wrong ;-)]:
  819.  
  820.   --- video.c~    Sat Mar 19 00:50:25 1994
  821.   +++ video.c     Sat Mar 19 20:36:10 1994
  822.   @@ -721,7 +721,7 @@
  823.      int x, y, i, tmp;
  824.      unsigned int s;
  825.      static int gfx_flag = 0;
  826.   -  char c;
  827.   +  u_char c;
  828.      us *sm;
  829.  
  830.      if (d.video >= 3)
  831.  
  832.  
  833.  
  834.  
  835.   10.  Contributing to the dosemu project
  836.  
  837.   10.1.  Who is responsible for dosemu?
  838.  
  839.   (3/18/94)
  840.  
  841.   Dosemu is built upon the work of Matthias Lautner and Robert Sanders.
  842.   James B. MacLean (jmaclean@fox.nstn.ns.ca) is responsible for
  843.   organizing the latest releases of dosemu.
  844.  
  845.  
  846.  
  847.  
  848.  
  849.  
  850.  
  851.  
  852.  
  853.  
  854.  
  855.  
  856.  
  857.  
  858.  
  859.                          History of dosemu
  860.  
  861.             Version    Date                Person
  862.            -------------------------------------------------
  863.             0.1        September 3, 1992   Matthias Lautner
  864.             0.2        September 13, 1992  Matthias Lautner
  865.             0.3        ???                 Matthias Lautner
  866.             0.4        November 26, 1992   Matthias Lautner
  867.             0.47       January 27, 1993    Robert Sanders
  868.             0.47.7     February 5, 1993    Robert Sanders
  869.             0.48       February 16, 1993   Robert Sanders
  870.             0.48pl1    February 18, 1993   Robert Sanders
  871.             0.49       May 20, 1993        Robert Sanders
  872.             0.49pl2    November 18, 1993   James MacLean
  873.             0.49pl3    November 30, 1993   James MacLean
  874.             0.49pl3.3  December 3, 1993    James MacLean
  875.             0.50       March 4, 1994       James MacLean
  876.             0.50pl1    March 18, 1994      James MacLean
  877.             0.52       June 16, 1994       James MacLean
  878.  
  879.  
  880.  
  881.  
  882.   10.2.  I want to help.  Who should I contact?
  883.  
  884.   The dosemu project is a team effort.  If you wish to contribute, see
  885.   the DPR (DOSEMU Project Registry).  A current copy may be found in
  886.   dspsun.eas.asu.edu:/pub/dosemu.
  887.  
  888.  
  889.  
  890.  
  891.  
  892.  
  893.  
  894.  
  895.  
  896.  
  897.  
  898.  
  899.  
  900.  
  901.  
  902.  
  903.  
  904.  
  905.  
  906.  
  907.  
  908.  
  909.  
  910.  
  911.  
  912.  
  913.  
  914.  
  915.  
  916.  
  917.  
  918.  
  919.  
  920.  
  921.  
  922.  
  923.  
  924.  
  925.